// SPDX-License-Identifier: Apache-2.0
// Copyright 2020 - {{year}} Pionix GmbH and Contributors to EVerest

#ifndef OCPP_V201_CTRLR_COMPONENT_VARIABLES
#define OCPP_V201_CTRLR_COMPONENT_VARIABLES

#include <ocpp/v201/ocpp_types.hpp>

namespace ocpp {
namespace v201 {

namespace ControllerComponents {
{% for component in components %}
extern const Component& {{ component }};
{% endfor %}
} // namespace ControllerComponents

// Provides access to standardized variables of OCPP2.0.1 spec
namespace ControllerComponentVariables {
{% for variable in variables %}
extern const {% if variable.required %}Required{% endif %}ComponentVariable& {{ variable.unique_variable_name }};
{% endfor %}

} // namespace ComponentVariables
} // namespace v201
} // namespace ocpp

#endif // OCPP_V201_CTRLR_COMPONENT_VARIABLES

